1. Field of the Invention
The present invention relates to an information processing apparatus, control method therefor, and storage medium which can use a plurality of applications.
2. Description of the Related Art
It is a known practice to connect an information processing apparatus such as a PC to a Web server, and display an operation screen provided by the Web server on a Web browser preinstalled on the information processing apparatus. In this case, the Web browser on the information processing apparatus requests an operation screen of the Web server. On the other hand, a Web application on the Web server transmits an HTML file for displaying the operation screen on the Web browser to the information processing apparatus in response to the request from it. The Web browser on the information processing apparatus analyzes the received HTML file, and displays an operation screen based on the description of the received HTML file. After that, when the user inputs an instruction via the operation screen displayed on the Web browser, the Web browser notifies the Web server of the input instruction. In response to the notification, the Web application on the Web server executes a process in accordance with the input instruction.
In recent years, some MFPs (Multi-Function Peripherals) including scanners or printers have Web browsers as mentioned above. Japanese Patent Laid-Open No. 2006-127503, for example, proposes a technique of providing, by a Web server, an operation screen for inputting an instruction to use each function of an MFP. More specifically, when the user inputs an instruction via an operation screen displayed on a Web browser on an MFP, a Web server is notified of the user instruction. In response to the notification, the Web server requests the MFP to execute various types of processes, in accordance with the contents of the instruction input by the user. In response to this request, the MFP executes the requested processes. This obviates the need to store all menu data for operating the MFP in the MFP, and makes it possible to easily change the menu data on the Web server.
Unfortunately, the conventional techniques pose the following problems. Some information processing apparatuses such as an MFP as mentioned above are provided with the screens of some applications by a Web server, and read out and execute programs stored in the MFP as for other applications. In the following description, an application provided by a Web server will be referred to as a “Web application”, and an application executed based on information stored in an MFP in advance will be referred to as a “native application”. For example, some MFPs are provided with a copy function as a native application, and a scan function as a Web application. The same operability is desirably provided even to such an MFP without requiring the user to be aware of which application is a Web application or a native application.
However, the operability of a predetermined key (e.g., a reset key that is a hardware key) built in an MFP cannot be the same between a native application and a Web application. This is because a Web application can handle an input via, for example, a button in an operation screen displayed on a Web browser, but cannot handle an input via a hardware key. For example, if a reset key that is a hardware key built in an MFP is pressed during the operation of a copy function provided as a native application, a reset process of the copy function is executed, and the initial screen of the copy function is displayed. In contrast, if the reset key is pressed during the operation of a scan function provided as a Web application, a reset process of the Web browser is enabled, and a web page set on the Web browser is displayed. Therefore, the scan function has an operability different from that of the copy function, so such an MFP is hard to use for a user who anticipates that a reset process of the scan function will be executed by pressing the reset key, and the initial screen of the scan function will be displayed.